<!--SIF Implementation Specification 2.2-6 (March 17, 2008)-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" targetNamespace="http://www.sifinfo.org/infrastructure/2.x" xmlns:sif="http://www.sifinfo.org/infrastructure/2.x" elementFormDefault="qualified">
  <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="imports/xml/xml.xsd" />
  <xs:complexType name="SIF_MetadataType">
    <xs:sequence>
      <xs:element name="TimeElements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TimeElement" minOccurs="0" maxOccurs="unbounded" type="sif:TimeElementType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LifeCycle" minOccurs="0" nillable="true" type="sif:LifeCycleType" />
      <xs:element name="RightsElements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="RightsElement" minOccurs="0" maxOccurs="unbounded" type="sif:RightsElementType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="EducationFilter" minOccurs="0" nillable="true" type="sif:EducationFilterType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SIF_Metadata" type="sif:SIF_MetadataType" />

  <xs:complexType name="TimeElementType">
    <xs:sequence>
      <xs:element name="Type" type="xs:normalizedString" />
      <xs:element name="Code" type="xs:token" />
      <xs:element name="Name" type="xs:normalizedString" />
      <xs:element name="Value" type="xs:normalizedString" />
      <xs:element name="StartDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="EndDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="SpanGaps" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SpanGap" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Type" type="xs:normalizedString" />
                  <xs:element name="Code" type="xs:token" />
                  <xs:element name="Name" type="xs:normalizedString" />
                  <xs:element name="Value" type="xs:normalizedString" />
                  <xs:element name="StartDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
                  <xs:element name="EndDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="IsCurrent" type="xs:boolean" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="TimeElement" type="sif:TimeElementType" />

  <xs:complexType name="LifeCycleType">
    <xs:sequence>
      <xs:element name="Created" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="DateTime" type="xs:dateTime" />
            <xs:element name="Creators" minOccurs="0" nillable="true">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="Creator" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="Name" type="xs:normalizedString" />
                        <xs:element name="ID" type="xs:normalizedString" />
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="ModificationHistory" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="Modified" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="By" type="xs:normalizedString" />
                  <xs:element name="DateTime" type="xs:dateTime" />
                  <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="TimeElements" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="TimeElement" minOccurs="0" maxOccurs="unbounded" type="sif:TimeElementType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="LifeCycle" type="sif:LifeCycleType" />

  <xs:complexType name="RightsElementType">
    <xs:sequence>
      <xs:element name="Cost" minOccurs="0" nillable="true" type="xs:boolean" />
      <xs:element name="FeesForUse" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="FeeForUse" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="UseType" type="xs:string" />
                  <xs:element name="MeteringType" type="xs:token" />
                  <xs:element name="MeteringURL" minOccurs="0" nillable="true" type="xs:anyURI" />
                  <xs:element name="PerUseCharge" minOccurs="0" nillable="true" type="sif:MonetaryAmountType" />
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="CopyrightStatement" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="TermsOfUse" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="RightsElement" type="sif:RightsElementType" />

  <xs:complexType name="EducationFilterType">
    <xs:sequence>
      <xs:element name="MediaTypes" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MediaType" maxOccurs="unbounded" type="xs:token" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="GradeLevels" minOccurs="0" nillable="true" type="sif:GradeLevelsType" />
      <xs:element name="SubjectAreas" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="SubjectArea" maxOccurs="unbounded" type="sif:SubjectAreaType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="InterestLevels" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="InterestLevel" maxOccurs="unbounded" type="sif:GradeLevelType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="LearningStandardItems" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="LearningStandardItemRefId" maxOccurs="unbounded" type="sif:IdRefType" />
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="BloomsTaxonomyLevels" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="BloomsTaxonomyLevel" minOccurs="0" maxOccurs="unbounded">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Knowledge" />
                  <xs:enumeration value="Comprehension" />
                  <xs:enumeration value="Application" />
                  <xs:enumeration value="Analysis" />
                  <xs:enumeration value="Synthesis" />
                  <xs:enumeration value="Evaluation" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="MultipleIntelligences" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="MultipleIntelligence" minOccurs="0" maxOccurs="unbounded">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Linguistic" />
                  <xs:enumeration value="Logical-Mathematical" />
                  <xs:enumeration value="Spatial" />
                  <xs:enumeration value="Musical" />
                  <xs:enumeration value="Bodily-Kinesthetic" />
                  <xs:enumeration value="Interpersonal" />
                  <xs:enumeration value="Intrapersonal" />
                  <xs:enumeration value="Naturalist" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="InstructionalStrategies" minOccurs="0" nillable="true">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="InstructionalStrategy" minOccurs="0" maxOccurs="unbounded">
              <xs:simpleType>
                <xs:restriction base="xs:token">
                  <xs:enumeration value="Lecture" />
                  <xs:enumeration value="Online" />
                  <xs:enumeration value="Discussion" />
                  <xs:enumeration value="Cooperative Group" />
                  <xs:enumeration value="Scenario" />
                  <xs:enumeration value="Demonstration/Lab" />
                  <xs:enumeration value="Self-study" />
                  <xs:enumeration value="Problem-Based Learning" />
                  <xs:enumeration value="Project" />
                  <xs:enumeration value="Other" />
                </xs:restriction>
              </xs:simpleType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="EducationFilter" type="sif:EducationFilterType" />

</xs:schema>